package com.travel.entity.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

/**
 * 聊天消息DTO
 * 用于接收用户发送的聊天消息
 * 用户信息通过UserContext获取，无需在请求中提供
 */
@Data
@ApiModel(description = "聊天消息请求")
public class ChatMessageDTO {
    
    @NotBlank(message = "消息内容不能为空")
    @ApiModelProperty(value = "消息内容", required = true, example = "我想知道北京有哪些著名景点")
    private String message;
    
    /**
     * 会话标识符（可选）
     * 用于维持对话上下文
     * 首次对话可为空，服务端会自动创建会话
     */
    @ApiModelProperty(value = "会话标识符，用于维持对话上下文，首次对话可为空", example = "conv_12345", required = false)
    private String sessionId;
} 